let readline = require("readline-sync");
// 生成制定范围内的随机数
function randomNumber(min, max) {
    return parseInt(Math.random() * (max - min + 1) + min);
}
// 比较玩家和系统的出拳，得到结果
// 1.石头  2.剪刀  3.布
// 返回0表示平局；返回1表示玩家获胜；返回-1表示系统获胜
function Compare(userChoice, systemChoice) {
    switch (userChoice) {
        case 1:
            if (systemChoice == 1) {
                return 0;
            } else if (systemChoice == 2) {
                return 1;
            } else if (systemChoice == 3) {
                return -1;
            }
            break;
        case 2:
            if (systemChoice == 1) {
                return -1;
            } else if (systemChoice == 2) {
                return 0;
            } else if (systemChoice == 3) {
                return 1;
            }
            break;
        case 3:
            if (systemChoice == 1) {
                return 1;
            } else if (systemChoice == 2) {
                return -1;
            } else if (systemChoice == 3) {
                return 0;
            }
            break;
    }


}



// 主函数控制流程
function main() {
    // 1.进入游戏，输入玩家姓名
    console.log("请输入玩家姓名：");
    let userName = readline.question("");
    if (userName == "") {
        userName = "小强";
    }
    let arr=["石头","剪刀","布"];
    // 2.选择功能：1.开始游戏  2.游戏说明  3.退出游戏
    let mainFlag = true; //循环开关
    while (mainFlag) {
        console.log("请选择功能：1.开始游戏  2.游戏说明  3.退出游戏");
        let mainChoice = readline.question("") * 1;
        switch (mainChoice) {
            case 1:
                console.log("开始游戏");
                let userNumber=0;//记录玩家得分
                let systemNumber=0;//记录系统得分
                // 3.选择开始游戏，玩家输入出拳选择：1.石头 2.剪刀  3.布 4.返回
                let playFlag = true; //游戏循环开关
                while (playFlag) {
                    console.log(`请玩家${userName}出拳：1.石头 2.剪刀  3.布 4.返回`);
                    let userChoice = readline.question("") * 1;
                    if (userChoice == 4) {
                        playFlag = false;
                    } else {
                        // 4.玩家做出选择之后，系统随机选择1,2,3中的一个
                        let systemChoice = randomNumber(1, 3);
                        // 5.比较玩家和系统的出拳，得到比较结果
                        let res = Compare(userChoice, systemChoice);
                        // 返回0表示平局；返回1表示玩家获胜；返回-1表示系统获胜
                        console.log(`${userName}：${arr[userChoice-1]} VS  系统：${arr[systemChoice-1]}`);
                        if(res==0){
                            console.log("平局！");
                        }else if(res==1){
                            console.log("本局玩家获胜！");
                            userNumber++;
                        }else{
                            console.log("本局系统获胜！");
                            systemNumber++;
                        }
                        console.log(`小强：${userNumber} VS 系统:${systemNumber}`);
                    }
                }
                break;
            case 2:
                console.log("游戏说明：石头剪刀布。。。。");
                break;
            case 3:
                console.log("退出游戏！欢迎下次再来！");
                mainFlag=false;//关闭循环开关
                break;

        }
    }


}
main();


// 猜拳游戏：





// 6.玩家获胜，玩家+1分，系统获胜，系统+1分，平局不加分
// 7.玩家选择返回，就返回到最开始的功能选择
// 8.玩家游戏说明，输出游戏说明
// 9.退出游戏，整个游戏结束